;;; -*- LISP -*- ;;;; Abstract advice selectors and constructors: (declare (macros t)) (defun make-advice-name macro (all) `(list ,@(cdr all))) (defmacro advised? (proc) `(pairp (procedure-name ,proc))) (defmacro advised-name (field) `(car ,field)) (defmacro advised-advice (field) `(cadr ,field)) (defmacro advised-proc (field) `(caddr ,field)) (defmacro advise-type (field) `(cadddr ,field))